#ifndef _SESION_H_
#define _SESION_H_

#include <vector>

#include "Conversacion.h"
#include "controlCentral/ControlRPCCliente.h"
#include "ListaCompartida.h"

#define LISTA_COMPARTIDA_CONVERSACIONES 0

class Sesion{
    private:
    bool esperarConexionDeControl();
    char* host;
    bool abrirConexionDeControl(const char *host);

    protected:
    //    ListaCompartida<long> conversacionesActuales;
    ControlRPCCliente* control;
    long idUsuario;

    public:
    Sesion();
    bool iniciar(long idUsuario, const char* host);
    void cerrar();
    std::vector<long> listarTodasLasConversaciones();
    long crearConversacion();
    bool unirseAConversacion(long idConversacion);
    Conversacion getConversacion(long idConversacion);
    void cerrarConversacion(long idConversacion);
    void recuperar(long idUsuario);
    ~Sesion();

};

#endif /* _SESION_H_ */
